// pages/category/index.js
//引入发送请求的方法
import { request } from '../../request/index.js';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    //左侧菜单数据
    leftMenuList: [],
    //右侧的商品数据
    rightContent: [],
    //被点击的左侧菜单
    currentIndex: 0,
    //右侧滚动条距离顶部的距离
    scrollTop: 0,
  },

  //接口的返回数据
  Cates: [],

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    
    //1.获取本地存储中的数据
    const Cates = wx.getStorageSync("cates");
    console.log(Cates)
    if (!Cates) {
      //不存在  发送请求获取数据
      this.getCates();
    }else{
      //有数据， 是否过期
      if(Date.now()-Cates.time > 1000*10){//过期时间5分钟
        //重新获取数据
        this.getCates();
      }else{
        this.Cates = Cates.data;
        //构造左侧的菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name);
        //构造右侧商品数据
        let rightContent = this.Cates[0].children;
        this.setData({
          leftMenuList,
          rightContent
        })
      }
    }
  },

  //获取分类数据
  getCates(){
    request({
      url: '/categories'
    }).then(res => {
      // console.log(res.data.message)
      this.Cates = res.data.message;

      //数据存储到本地
      wx.setStorageSync("cates", { time: Date.now(), data: this.Cates});

      //构造左侧的菜单数据
      let leftMenuList = this.Cates.map(v=>v.cat_name);
      //构造右侧商品数据
      let rightContent = this.Cates[0].children;
      this.setData({
        leftMenuList,
        rightContent
      })
    })
  },

  //左侧菜单的点击事件
  handleItemTap(e){
    //1.获取被点击的标题的索引
    const {index}=e.currentTarget.dataset;
    
    //2.根据索引获取右侧商品数据
    let rightContent = this.Cates[index].children;
    // console.log(rightContent);
    
    //3.给data中的currentIndex赋值
    this.setData({
      currentIndex: index,
      rightContent,
      scrollTop: 0,
    })
    
  },
 
})